package com.spring.consumer.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * @author hezx
 * 使用注解的方式，配置配置文件取代配置文件 application.xml
 */
@Configuration
public class ConfigBean {

    /**
     * 使用注解的方式，添加 restTemplate 到IOC容器中
     */
    @Bean
    /**
     * 开启 ribbon 负载均衡
     */
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }

    /**
     * 规定使用的 ribbon 规则
     *
     * @return
     */
//    @Bean
//    public IRule myIRule() {
//        //使用随机规则
//        return new RandomRule();
//    }
}
